-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add doctor commands to interrogate levelDB queues #18732
Conversation
The ConflictedFiles status should always be reset if there are no conflicts this prevents conflicted files being left over. Fix go-gitea#17204 Signed-off-by: Andrew Thornton <art27@cantab.net>
Given the repeated issues here I've just added some plain trace logging which should allow for easier tracing of when processes are created. Signed-off-by: Andrew Thornton <art27@cantab.net>
Signed-off-by: Andrew Thornton <art27@cantab.net>
Signed-off-by: Andrew Thornton <art27@cantab.net>
f4068ad
to
1475c62
Compare
Signed-off-by: Andrew Thornton <art27@cantab.net>
Signed-off-by: Andrew Thornton <art27@cantab.net>
It would be useful to verify the autofix logic actually works by adding a test that runs it twice and asserts it does not complain the second time around. Just a suggestion. |
Co-authored-by: 6543 <6543@obermui.de>
Please resolve the conflicts. |
Unfortunately we need to remove the trace logging from the process manager.
Signed-off-by: Andrew Thornton <art27@cantab.net>
This comment was marked as duplicate.
This comment was marked as duplicate.
Signed-off-by: Andrew Thornton <art27@cantab.net>
Signed-off-by: Andrew Thornton <art27@cantab.net>
Signed-off-by: Andrew Thornton <art27@cantab.net>
Signed-off-by: Andrew Thornton <art27@cantab.net>
Signed-off-by: Andrew Thornton <art27@cantab.net>
I am 99.99% sure that it doesn't need " to interrogate levelDB queues" after the queue rewriting. And poor users could just clear their queue on the admin page, then everything becomes right again. |
-> Help to recover from corrupted levelqueue #24912 gitea.com experienced the corrupted LevelQueue bug again. I think the problem is clear now. This PR's approach "checkUniqueQueues" doesn't work because the LevelQueue (LPop) stops working. The newly introduced "Remove All" button on admin page doesn't work either because it also uses LPop. To "fix" the corrupted queue, the simplest way it is to just remove all keys with the queue prefixes, To "interrogate" the levelqueue, there is |
The newly written "logger system" and "queue system" seem stable, after 1.20 gets released, there is no bug report for them yet (till now). Not like before: untestable functions, fragile tests, various bug patches, unclear failures, etc. So, what you worried about "You're just going to create more bugs and reiterate errors (23753)", I have confidence to say: it won't happen. While I can't guarantee my code is 100% bug-free, so if there is any related bug, I will fix them in first time (as always). |
Whilst looking at #17204 it appears that the unique-queues can end up in a weird corrupt state - I'm not certain how this happens - however the most difficult thing has been that there was no way to detect this.
In this PR I propose two new doctor commands:
The PR also adds a lot of additional tracing logs.